<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>

<html>
<head>
<title>Hello.jsp</title>
</head>
<body>
	<h1>Hello.jsp</h1>

	<p>Small demo using wsimport doing the same as hello.php For more details look in the Java test code nl.boektrust.btsoep.client.wsdl.wsimportgenerated.TestWsimportGenerated</p>

	<%@ page import="java.util.List"%>
	<%@ page import="nl.boektrust.btsoep.client.wsdl.wsimportgenerated.Book"%>
	<%@ page import="nl.boektrust.btsoep.client.wsdl.wsimportgenerated.BrowseWsdlService"%>
	<%@ page import="nl.boektrust.btsoep.client.wsdl.wsimportgenerated.ObjectFactory"%>
	<%@ page import="org.slf4j.Logger"%>
	<%@ page import="org.slf4j.LoggerFactory"%>
	<%
		final Logger logger = LoggerFactory.getLogger(this.getClass());
		String minAuteur = request.getParameter("minAuteur");
		String maxAuteur = request.getParameter("maxAuteur");
		String minIsbn = request.getParameter("minIsbn");
		String maxIsbn = request.getParameter("maxIsbn");
		String minTitel = request.getParameter("minTitel");
		String maxTitel = request.getParameter("maxTitel");
		//NOTE if parameter==null then via the form it will be "null". The server ignores ""
		if (minAuteur == null)
			minAuteur = "";
		if (maxAuteur == null)
			maxAuteur = "";
		if (minIsbn == null)
			minIsbn = "";
		if (maxIsbn == null)
			maxIsbn = "";
		if (minTitel == null)
			minTitel = "";
		if (maxTitel == null)
			maxTitel = "";
		int offset = 0, limit = 10;
		try {
			offset = Integer.parseInt(request.getParameter("offset"));
		} catch (Exception e) {
		}
		try {
			limit = Integer.parseInt(request.getParameter("limit"));
		} catch (Exception e) {
		}
	%>
	<p>Zoek formulier voor een kunstmatige data set. Die data set bevat 'boeken' met een auteur, isbn en titel. En is gevuld met de reeks van (auteur1000, isbn1000, titel1000) tot
		en met (auteur1999, isbn1999, titel1999). U kunt zoeken met een optionele onder (min) en boven grens (max). Voor het geval er teveel resultaten terug komen is er een maximum
		aantal 'limit' en een paginering met 'offset' ingebouwd...</p>
	<p>
	<form action='hello.jsp' method='post'>
		<table border='1'>
			<tr>
				<th>auteur</th>
				<th>isbn</th>
				<th>titel</th>
			</tr>
			<tr>
				<td><input type='text' name='minAuteur' value='<%=minAuteur%>' />
				</td>
				<td><input type='text' name='minIsbn' value='<%=minIsbn%>' />
				</td>
				<td><input type='text' name='minTitel' value='<%=minTitel%>' />
				</td>
			</tr>
			<tr>
				<td><input type='text' name='maxAuteur' value='<%=maxAuteur%>' />
				</td>
				<td><input type='text' name='maxIsbn' value='<%=maxIsbn%>' />
				</td>
				<td><input type='text' name='maxTitel' value='<%=maxTitel%>' />
				</td>
			</tr>
		</table>
		<table border='1'>
			<tr>
				<th>offset</th>
				<th>limit</th>
			</tr>
			<tr>
				<td><input type='text' name='offset' value='<%=offset%>' />
				</td>
				<td><input type='text' name='limit' value='<%=limit%>' />
				</td>
			</tr>
		</table>
		<input type='submit' value='Zoek'>
	</form>
	</p>


	<table border='1'>
		<tr>
			<th>auteur</th>
			<th>isbn</th>
			<th>titel</th>
		</tr>
		<%
			ObjectFactory of = new ObjectFactory();
			Book bookmin = of.createBook();
			bookmin.setAuteur(minAuteur);
			bookmin.setIsbn(minIsbn);
			bookmin.setTitel(minTitel);
			Book bookmax = of.createBook();
			bookmax.setAuteur(maxAuteur);
			bookmax.setIsbn(maxIsbn);
			bookmax.setTitel(maxTitel);
			BrowseWsdlService serv = new BrowseWsdlService();
			logger.info("bookmin=" + bookmin + "; bookmax=" + bookmax
					+ "; offset=" + offset + "; limit=" + limit);
			List<Book> ret = serv.getBrowseWsdlPort().searchBooks(bookmin,
					bookmax, offset, limit);
			logger.info("ret.size()=" + ret.size());
			for (Book b : ret) {
				out.println("<tr>");
				out.println("<td>" + b.getAuteur() + "</td>");
				out.println("<td>" + b.getIsbn() + "</td>");
				out.println("<td>" + b.getTitel() + "</td>");
				out.println("</tr>");
			}
		%>
	</table>

</body>
</html>




